//
//  AppDelegate.swift
//  WeiBo001
//
//  Created by ZhiQiang Li on 16/7/19.
//  Copyright © 2016年 ZhiQiang Li. All rights reserved.
//

import UIKit
import SVProgressHUD
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?


    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
      
        //设置主窗口
        self.window = UIWindow(frame: UIScreen.mainScreen().bounds)
        //设置背景颜色的
        self.window?.backgroundColor = UIColor.whiteColor()
        //设置根控制器
       
      setupDefaultRootVc()

        //设置成为主窗口
        self.window?.makeKeyAndVisible()
        setupAppStyle()
        
        
        
        // 接收切换根控制器的通知
        NSNotificationCenter.defaultCenter().addObserver(self, selector: "switchRootVc:", name: WBSwitchRootViewControllerNoti, object: nil)
        isNewVersion()

        return true
    }
    
    
    func setupDefaultRootVc(){
        // - 如果用户已经登录  rootVc -> WelcomeVc
        // - 如果用户没有登录  rootVc -> MainVc
        if CZUserAccountViewModel.sharedTools.isLogin {
            // 如果是新版本
            if isNewVersion() {
                self.window?.rootViewController = FeautreController()
            }else {
                // 如果不是新版本
                self.window?.rootViewController = BackController()
            }
            
        }else {
            self.window?.rootViewController = MainController()
        }
        
        
    }

    // 切换根控制器
    func switchRootVc(noti: NSNotification){
        // 代表 OAuthVc -> WelComeVc
        if noti.object == nil {
            self.window?.rootViewController = BackController()
        }else {
            // 代表WelComeVc -> MainVc
            // 由于当object 不为nil 切换的跟控制器均为MainVc
            self.window?.rootViewController = MainController()
        }
   
}


func setupAppStyle(){
    // 设置tintColor 设置控件颜色 （全局使用, 必须在我们项目初始化之前设置）
    // UITabBar.appearance().tintColor = UIColor.orangeColor()
    UINavigationBar.appearance().tintColor = ThemeColor
    SVProgressHUD.setDefaultStyle(SVProgressHUDStyle.Custom)
    SVProgressHUD.setBackgroundColor(ThemeColor)
    SVProgressHUD.setForegroundColor(UIColor.whiteColor())
}

    // 判断当前是否是最新版本
    func isNewVersion() -> Bool{
        // 01 获取当前的版本
        let currentVersion = NSBundle.mainBundle().infoDictionary!["CFBundleShortVersionString"] as! String
        // 把字符串转成double类型
        let currentVersionD = Double(currentVersion)!
        // 02 获取通过偏好设置保存的版本
        let shAppVersion = "shAppVersion"
        let oldVersion = NSUserDefaults.standardUserDefaults().doubleForKey(shAppVersion)
        // 03 保存获取到的当前版本
        NSUserDefaults.standardUserDefaults().setDouble(currentVersionD, forKey: shAppVersion)
        // 04 返回是否是最新版本
        return currentVersionD > oldVersion
}

    deinit{
        NSNotificationCenter.defaultCenter().removeObserver(self)
}



}